home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / directx7 / dstut1.frm < prev    next >
Text File  |  1999-10-04  |  13KB  |  404 lines

  1. VERSION 5.00
  2. Begin VB.Form DStutform 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "DS Play Sound"
  5.    ClientHeight    =   3900
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   5505
  9.    Icon            =   "dstut1.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   260
  14.    ScaleMode       =   3  'Pixel
  15.    ScaleWidth      =   367
  16.    StartUpPosition =   3  'Windows Default
  17.    Begin VB.CheckBox chloop 
  18.       Caption         =   "Loop Play"
  19.       Height          =   195
  20.       Left            =   3480
  21.       TabIndex        =   14
  22.       Top             =   1320
  23.       Width           =   1695
  24.    End
  25.    Begin VB.CommandButton cmdStop 
  26.       Cancel          =   -1  'True
  27.       Caption         =   "&Stop"
  28.       Height          =   375
  29.       Left            =   2520
  30.       TabIndex        =   13
  31.       Top             =   1200
  32.       Width           =   750
  33.    End
  34.    Begin VB.CommandButton cmdPause 
  35.       Caption         =   "P&ause"
  36.       Height          =   375
  37.       Left            =   1680
  38.       TabIndex        =   12
  39.       Top             =   1200
  40.       Width           =   750
  41.    End
  42.    Begin VB.CommandButton cmdPlay 
  43.       Caption         =   "&Play"
  44.       Default         =   -1  'True
  45.       Height          =   375
  46.       Left            =   840
  47.       TabIndex        =   11
  48.       Top             =   1200
  49.       Width           =   750
  50.    End
  51.    Begin VB.HScrollBar scrlPan 
  52.       Height          =   255
  53.       LargeChange     =   1000
  54.       Left            =   600
  55.       Max             =   10000
  56.       Min             =   -10000
  57.       SmallChange     =   500
  58.       TabIndex        =   9
  59.       Top             =   840
  60.       Width           =   4215
  61.    End
  62.    Begin VB.HScrollBar scrlVol 
  63.       Height          =   255
  64.       LargeChange     =   20
  65.       Left            =   840
  66.       Max             =   0
  67.       Min             =   -5000
  68.       SmallChange     =   255
  69.       TabIndex        =   6
  70.       Top             =   120
  71.       Width           =   4575
  72.    End
  73.    Begin VB.Label lblmisc 
  74.       AutoSize        =   -1  'True
  75.       BackStyle       =   0  'Transparent
  76.       Caption         =   "Right"
  77.       Height          =   195
  78.       Index           =   3
  79.       Left            =   4920
  80.       TabIndex        =   10
  81.       Top             =   840
  82.       Width           =   375
  83.    End
  84.    Begin VB.Label lblmisc 
  85.       AutoSize        =   -1  'True
  86.       BackStyle       =   0  'Transparent
  87.       Caption         =   "Left"
  88.       Height          =   195
  89.       Index           =   2
  90.       Left            =   120
  91.       TabIndex        =   8
  92.       Top             =   840
  93.       Width           =   270
  94.    End
  95.    Begin VB.Label lblmisc 
  96.       AutoSize        =   -1  'True
  97.       BackStyle       =   0  'Transparent
  98.       Caption         =   "Panning:"
  99.       Height          =   195
  100.       Index           =   1
  101.       Left            =   120
  102.       TabIndex        =   7
  103.       Top             =   480
  104.       Width           =   630
  105.    End
  106.    Begin VB.Label lblmisc 
  107.       AutoSize        =   -1  'True
  108.       BackStyle       =   0  'Transparent
  109.       Caption         =   "Volume:"
  110.       Height          =   195
  111.       Index           =   0
  112.       Left            =   120
  113.       TabIndex        =   5
  114.       Top             =   120
  115.       Width           =   570
  116.    End
  117.    Begin VB.Label Label3 
  118.       AutoSize        =   -1  'True
  119.       BackStyle       =   0  'Transparent
  120.       Caption         =   "An Example of a DX game made in VB."
  121.       Height          =   195
  122.       Index           =   1
  123.       Left            =   1320
  124.       TabIndex        =   4
  125.       Top             =   2400
  126.       Width           =   2760
  127.    End
  128.    Begin VB.Label Label1 
  129.       BackStyle       =   0  'Transparent
  130.       Caption         =   $"dstut1.frx":0442
  131.       Height          =   1215
  132.       Index           =   1
  133.       Left            =   0
  134.       TabIndex        =   3
  135.       Top             =   2640
  136.       Width           =   5415
  137.    End
  138.    Begin VB.Label lblLink1 
  139.       AutoSize        =   -1  'True
  140.       BackStyle       =   0  'Transparent
  141.       Caption         =   "http://www.microsoft.com/directx"
  142.       ForeColor       =   &H00FF0000&
  143.       Height          =   195
  144.       Left            =   120
  145.       MousePointer    =   10  'Up Arrow
  146.       TabIndex        =   2
  147.       Top             =   1680
  148.       Width           =   2385
  149.    End
  150.    Begin VB.Label lbllink2 
  151.       AutoSize        =   -1  'True
  152.       BackStyle       =   0  'Transparent
  153.       Caption         =   "http://www.parkstonemot.freeserve.co.uk/indexfw.htm"
  154.       ForeColor       =   &H00FF0000&
  155.       Height          =   195
  156.       Left            =   120
  157.       MousePointer    =   10  'Up Arrow
  158.       TabIndex        =   1
  159.       Top             =   2160
  160.       Width           =   3900
  161.    End
  162.    Begin VB.Label lbllink3 
  163.       AutoSize        =   -1  'True
  164.       BackStyle       =   0  'Transparent
  165.       Caption         =   "Mailto: Jollyjeffers@GreenOnions.netscapeonline.co.uk"
  166.       ForeColor       =   &H00FF0000&
  167.       Height          =   195
  168.       Left            =   120
  169.       MousePointer    =   10  'Up Arrow
  170.       TabIndex        =   0
  171.       Top             =   1920
  172.       Width           =   3900
  173.    End
  174. End
  175. Attribute VB_Name = "DStutform"
  176. Attribute VB_GlobalNameSpace = False
  177. Attribute VB_Creatable = False
  178. Attribute VB_PredeclaredId = True
  179. Attribute VB_Exposed = False
  180. Option Explicit
  181. 'DIRECT X 7 is initialised using a reference type library, in VB5, open the PROJECT menu, then select
  182. 'REFERENCES. in the list there will be "DirectX 7 for visual basic type library", with a check next to it.
  183. 'When making your own projects you need to select this library.....
  184.  
  185. 'Each DX app needs to declare a DX object, similiar to a control, sub objects such as DSound/DDraw are
  186. 'created from this master object:
  187. Dim m_dx As New DirectX7
  188. 'Then there is the sub object, DirectSound:
  189. Dim m_ds As DirectSound
  190. 'Sound is loaded into BUFFERS, these buffers represent different areas of memory on your sound card
  191. 'or system memory. You must have 1 buffer for each .wav file you load. Although you can keep reloading
  192. 'different files into the same buffer, you can only have one file in each buffer at any one time. For
  193. 'this example, we only need one buffer.
  194. Dim m_dsBuffer As DirectSoundBuffer
  195.  
  196. Dim m_bLoaded As Boolean
  197.  
  198.  
  199.  
  200. 'USED FOR THE LINKS, NOT FOR DX
  201. #If Win32 Then
  202. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  203. Private Declare Function GetDesktopWindow Lib "user32" () As Long
  204. #Else
  205. Private Declare Function ShellExecute Lib "SHELL" (ByVal hwnd%, ByVal lpszOp$, ByVal lpszFile$, ByVal lpszParams$, ByVal lpszDir$, ByVal fsShowCmd%) As Integer
  206. Private Declare Function GetDesktopWindow Lib "USER" () As Integer
  207. #End If
  208. Private Const SW_SHOWNORMAL = 1
  209.  
  210. Function StartDoc(DocName As String) As Long
  211.       Dim Scr_hDC As Long
  212.       Scr_hDC = GetDesktopWindow()
  213.       StartDoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", SW_SHOWNORMAL)
  214. End Function
  215. Private Sub Form_Load()
  216.     Me.Show
  217.     On Local Error Resume Next
  218.     'First we have to create a DSound object, this must be done before any features can be used.
  219.     'It must also be done before we set the cooperativelevel or create any buffers.
  220.     Set m_ds = m_dx.DirectSoundCreate("")
  221.     'This checks for any errors, if there are no errors the user has got DX7 and a functional sound card
  222.     If Err.Number <> 0 Then
  223.         MsgBox "Unable to start DirectSound. Check to see that your sound card is properly installed"
  224.         End
  225.     End If
  226.     'THIS MUST BE SET BEFORE WE CREATE ANY BUFFERS
  227.     'associating our DS object with our window is important. This tells windows to stop
  228.     'other sounds from interfering with ours, and ours not